import 'dart:async';

/**
 * @Description: 计时器工具类
 * @Author: 下雨了
 * @CreateDate: 2022-09-20 16:28
 * @UpdateUser: 更新者
 * @UpdateDate:  2022-09-20 16:28
 * @UpdateRemark: 更新说明
 * @Version: 1.0
 */
///

class TimerUtils {

  // 私有构造函数
  TimerUtils._internal();

  // 保存单例
  static final TimerUtils _timerUtils = TimerUtils._internal();

  // 工厂构造函数
  factory TimerUtils() => _timerUtils;


  Timer? timer; // 计时器

  int start = 1; // ？ 之后进行保存

  void startTimer() {
    print(DateTime.now().millisecondsSinceEpoch);

    if (timer != null) {
      timer!.cancel();
    }

    const oneSec = Duration(seconds: 1);

    timer = Timer.periodic(oneSec, (Timer timer) {
      if (start == 0) {
        timer.cancel();
        // todo 距离上次更新 需要超过一秒之后 才保存数据
        print(DateTime.now().millisecondsSinceEpoch);
        print("1秒 时间到了");
      } else {
        start--;
      }
    });
  }
}
